package io.aircraft.modules.wms.dao;

import io.aircraft.modules.wms.entity.stored.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 存储过程相关的数据访问对象DAO
 */
@Mapper
public interface StoredProcDao {
    /**
     * 收货单取消
     */
    void procWmsPurchaseCancel(@Param("parameter") ProcPurchaseCancelEntity parameters);

    /**
     * 收货单强制完成
     */
    void procWmsPurchaseDone(@Param("parameter") ProcPurchaseDoneEntity parameters);

    /**
     * 出库单取消
     */
    void procWmsOrderCancel(@Param("parameter") ProcOrderCancelEntity parameters);

    /**
     * 按波次配货
     */
    void procWmsWaveAllot(@Param("parameter") ProcWaveAllotEntity parameters);

    /**
     * 按出库单配货
     */
    void procWmsOrderAllot(@Param("parameter") ProcOrderAllotEntity parameters);

    /**
     * 取消配货
     */
    void procWmsOrderRefund(@Param("parameter") ProcOrderRefundEntity parameters);

    /**
     * 按波次执行
     */
    void procWmsWaveAudi(@Param("parameter") ProcWaveAudiEntity parameters);

    /**
     * 按出库单执行
     */
    void procWmsOrderAudi(@Param("parameter") ProcOrderAudiEntity parameters);

    /**
     * 出库确认
     */
    void procWmsTaskAffirm(@Param("parameter") ProcTaskAffirmEntity parameters);
    /**
     * 库存是否充足
     */
    void procWmsStockCheck(@Param("parameter") ProcStockCheckEntity parameters);
}
